7-19 装酒
mirco-akira
# 7-19 装酒
分数 10 作者 李祥 单位 湖北经济学院
已知酒瓶容量为 b 升,现有 w 升酒,需要 n 只瓶子才能盛下全部这些酒。请编写程序,输入 p 和 t,计算并输出 n。
输入格式 b 和 w
输出格式 n
样例输入1
9.45 85.05
样例输出1
9
1
2
3
4
2
3
4
样例输入2
0.85 146.6
样例输出2
173
1
2
3
4
2
3
4
代码长度限制 16 KB 时间限制 100 ms 内存限制 64 MB
# 代码:
方法一: 此方法更简单,使用ceil函数即可
#include <stdio.h>
#include <math.h> //ceil需要引入math头文件
int main(){
double b,w;
int n;
scanf("%lf %lf",&b,&w);
n = ceil(w/b); //ceil函数代表向上取整
printf("%d",n);
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
方法二:
#include<stdio.h>
#include<math.h>
int main(){
double bottle,wine; //定义双精度的酒瓶容量和现有酒容量
int bottle_number=0; //定义整型的瓶子数
scanf("%lf %lf", &bottle, &wine); //输入酒瓶容量和现有酒容量
bottle_number =wine/bottle; //这些酒阔以装多少个满瓶子
if(fmod(wine,bottle) > 0.000001){ //fomd为double类型求余,然后判断0不实现,所以判断有没有小数
bottle_number++; //如果剩下的不满一瓶算一个瓶子装
}
printf("%d\n",bottle_number); //输出瓶子数量
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 解题思路
- 这个问题主要考察是否需要向上取整,根据题目要求需要向上取整。
- 可以选择使用math头文件函数,直接进行向上取整
- 也可以选择取余判0,再加1实现